﻿using System;

namespace Sidvall.Devices
{
    public class Geoposition
    {
        /// <summary>
        /// The accuracy of the location in meters.
        /// </summary>
        public double Accuracy { get; set; }
        /// <summary>
        /// The accuracy of the altitude, in meters.
        /// </summary>
        public double? AltitudeAccuracy { get; set; }
        /// <summary>
        /// The current heading in degrees relative to true north.
        /// </summary>
        public double? Heading { get; set; }
        /// <summary>
        /// The location of the Geocoordinate.
        /// </summary>
        public Geopoint Point { get; set; }
        /// <summary>
        /// Gets the source used to obtain a Geocoordinate.
        /// </summary>
        public PositionSource PositionSource { get; set; }
        /// <summary>
        /// Gets the time at which the associated Geocoordinate position was calculated.
        /// </summary>
        public DateTimeOffset? PositionSourceTimestamp { get; set; }
        /// <summary>
        /// The speed in meters per second.
        /// </summary>
        public double? Speed { get; set; }
        /// <summary>
        /// The system time at which the location was determined.
        /// </summary>
        public DateTimeOffset Timestamp { get; set; }
    }
}
